package com.warm.pump.module.work.bean.po.gen;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.Iterator;
import java.util.List;

public class WorkItemExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    protected int limitStart = -1;

    protected int limitOffset = -1;

    public WorkItemExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    public void setLimitStart(int limitStart) {
        this.limitStart=limitStart;
    }

    public int getLimitStart() {
        return limitStart;
    }

    public void setLimitOffset(int limitOffset) {
        this.limitOffset=limitOffset;
    }

    public int getLimitOffset() {
        return limitOffset;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        protected void addCriterionForJDBCDate(String condition, Date value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            addCriterion(condition, new java.sql.Date(value.getTime()), property);
        }

        protected void addCriterionForJDBCDate(String condition, List<Date> values, String property) {
            if (values == null || values.size() == 0) {
                throw new RuntimeException("Value list for " + property + " cannot be null or empty");
            }
            List<java.sql.Date> dateList = new ArrayList<java.sql.Date>();
            Iterator<Date> iter = values.iterator();
            while (iter.hasNext()) {
                dateList.add(new java.sql.Date(iter.next().getTime()));
            }
            addCriterion(condition, dateList, property);
        }

        protected void addCriterionForJDBCDate(String condition, Date value1, Date value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            addCriterion(condition, new java.sql.Date(value1.getTime()), new java.sql.Date(value2.getTime()), property);
        }



        public Criteria andIdIsNull() {
            addCriterion("id is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("id is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(Long value) {
            addCriterion("id =", value, "Id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(Long value) {
            addCriterion("id <>", value, "Id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(Long value) {
            addCriterion("id >", value, "Id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(Long value) {
            addCriterion("id >=", value, "Id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(Long value) {
            addCriterion("id <", value, "Id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(Long value) {
            addCriterion("id <=", value, "Id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<Long> values) {
            addCriterion("id in", values, "Id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<Long> values) {
            addCriterion("id not in", values, "Id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(Long value1, Long value2) {
            addCriterion("id between", value1, value2, "Id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(Long value1, Long value2) {
            addCriterion("id not between", value1, value2, "Id");
            return (Criteria) this;
        }
        public Criteria andWorkIdIsNull() {
            addCriterion("work_id is null");
            return (Criteria) this;
        }

        public Criteria andWorkIdIsNotNull() {
            addCriterion("work_id is not null");
            return (Criteria) this;
        }

        public Criteria andWorkIdEqualTo(Long value) {
            addCriterion("work_id =", value, "WorkId");
            return (Criteria) this;
        }

        public Criteria andWorkIdNotEqualTo(Long value) {
            addCriterion("work_id <>", value, "WorkId");
            return (Criteria) this;
        }

        public Criteria andWorkIdGreaterThan(Long value) {
            addCriterion("work_id >", value, "WorkId");
            return (Criteria) this;
        }

        public Criteria andWorkIdGreaterThanOrEqualTo(Long value) {
            addCriterion("work_id >=", value, "WorkId");
            return (Criteria) this;
        }

        public Criteria andWorkIdLessThan(Long value) {
            addCriterion("work_id <", value, "WorkId");
            return (Criteria) this;
        }

        public Criteria andWorkIdLessThanOrEqualTo(Long value) {
            addCriterion("work_id <=", value, "WorkId");
            return (Criteria) this;
        }

        public Criteria andWorkIdIn(List<Long> values) {
            addCriterion("work_id in", values, "WorkId");
            return (Criteria) this;
        }

        public Criteria andWorkIdNotIn(List<Long> values) {
            addCriterion("work_id not in", values, "WorkId");
            return (Criteria) this;
        }

        public Criteria andWorkIdBetween(Long value1, Long value2) {
            addCriterion("work_id between", value1, value2, "WorkId");
            return (Criteria) this;
        }

        public Criteria andWorkIdNotBetween(Long value1, Long value2) {
            addCriterion("work_id not between", value1, value2, "WorkId");
            return (Criteria) this;
        }
        public Criteria andItemNameIsNull() {
            addCriterion("item_name is null");
            return (Criteria) this;
        }

        public Criteria andItemNameIsNotNull() {
            addCriterion("item_name is not null");
            return (Criteria) this;
        }

        public Criteria andItemNameEqualTo(String value) {
            addCriterion("item_name =", value, "ItemName");
            return (Criteria) this;
        }

        public Criteria andItemNameNotEqualTo(String value) {
            addCriterion("item_name <>", value, "ItemName");
            return (Criteria) this;
        }

        public Criteria andItemNameGreaterThan(String value) {
            addCriterion("item_name >", value, "ItemName");
            return (Criteria) this;
        }

        public Criteria andItemNameGreaterThanOrEqualTo(String value) {
            addCriterion("item_name >=", value, "ItemName");
            return (Criteria) this;
        }

        public Criteria andItemNameLessThan(String value) {
            addCriterion("item_name <", value, "ItemName");
            return (Criteria) this;
        }

        public Criteria andItemNameLessThanOrEqualTo(String value) {
            addCriterion("item_name <=", value, "ItemName");
            return (Criteria) this;
        }

        public Criteria andItemNameLike(String value) {
            addCriterion("item_name like", value, "ItemName");
            return (Criteria) this;
        }

        public Criteria andItemNameNotLike(String value) {
            addCriterion("item_name not like", value, "ItemName");
            return (Criteria) this;
        }

        public Criteria andItemNameIn(List<String> values) {
            addCriterion("item_name in", values, "ItemName");
            return (Criteria) this;
        }

        public Criteria andItemNameNotIn(List<String> values) {
            addCriterion("item_name not in", values, "ItemName");
            return (Criteria) this;
        }

        public Criteria andItemNameBetween(String value1, String value2) {
            addCriterion("item_name between", value1, value2, "ItemName");
            return (Criteria) this;
        }

        public Criteria andItemNameNotBetween(String value1, String value2) {
            addCriterion("item_name not between", value1, value2, "ItemName");
            return (Criteria) this;
        }
        public Criteria andDetailModeIsNull() {
            addCriterion("detail_mode is null");
            return (Criteria) this;
        }

        public Criteria andDetailModeIsNotNull() {
            addCriterion("detail_mode is not null");
            return (Criteria) this;
        }

        public Criteria andDetailModeEqualTo(String value) {
            addCriterion("detail_mode =", value, "DetailMode");
            return (Criteria) this;
        }

        public Criteria andDetailModeNotEqualTo(String value) {
            addCriterion("detail_mode <>", value, "DetailMode");
            return (Criteria) this;
        }

        public Criteria andDetailModeGreaterThan(String value) {
            addCriterion("detail_mode >", value, "DetailMode");
            return (Criteria) this;
        }

        public Criteria andDetailModeGreaterThanOrEqualTo(String value) {
            addCriterion("detail_mode >=", value, "DetailMode");
            return (Criteria) this;
        }

        public Criteria andDetailModeLessThan(String value) {
            addCriterion("detail_mode <", value, "DetailMode");
            return (Criteria) this;
        }

        public Criteria andDetailModeLessThanOrEqualTo(String value) {
            addCriterion("detail_mode <=", value, "DetailMode");
            return (Criteria) this;
        }

        public Criteria andDetailModeLike(String value) {
            addCriterion("detail_mode like", value, "DetailMode");
            return (Criteria) this;
        }

        public Criteria andDetailModeNotLike(String value) {
            addCriterion("detail_mode not like", value, "DetailMode");
            return (Criteria) this;
        }

        public Criteria andDetailModeIn(List<String> values) {
            addCriterion("detail_mode in", values, "DetailMode");
            return (Criteria) this;
        }

        public Criteria andDetailModeNotIn(List<String> values) {
            addCriterion("detail_mode not in", values, "DetailMode");
            return (Criteria) this;
        }

        public Criteria andDetailModeBetween(String value1, String value2) {
            addCriterion("detail_mode between", value1, value2, "DetailMode");
            return (Criteria) this;
        }

        public Criteria andDetailModeNotBetween(String value1, String value2) {
            addCriterion("detail_mode not between", value1, value2, "DetailMode");
            return (Criteria) this;
        }
        public Criteria andBeanNameIsNull() {
            addCriterion("bean_name is null");
            return (Criteria) this;
        }

        public Criteria andBeanNameIsNotNull() {
            addCriterion("bean_name is not null");
            return (Criteria) this;
        }

        public Criteria andBeanNameEqualTo(String value) {
            addCriterion("bean_name =", value, "BeanName");
            return (Criteria) this;
        }

        public Criteria andBeanNameNotEqualTo(String value) {
            addCriterion("bean_name <>", value, "BeanName");
            return (Criteria) this;
        }

        public Criteria andBeanNameGreaterThan(String value) {
            addCriterion("bean_name >", value, "BeanName");
            return (Criteria) this;
        }

        public Criteria andBeanNameGreaterThanOrEqualTo(String value) {
            addCriterion("bean_name >=", value, "BeanName");
            return (Criteria) this;
        }

        public Criteria andBeanNameLessThan(String value) {
            addCriterion("bean_name <", value, "BeanName");
            return (Criteria) this;
        }

        public Criteria andBeanNameLessThanOrEqualTo(String value) {
            addCriterion("bean_name <=", value, "BeanName");
            return (Criteria) this;
        }

        public Criteria andBeanNameLike(String value) {
            addCriterion("bean_name like", value, "BeanName");
            return (Criteria) this;
        }

        public Criteria andBeanNameNotLike(String value) {
            addCriterion("bean_name not like", value, "BeanName");
            return (Criteria) this;
        }

        public Criteria andBeanNameIn(List<String> values) {
            addCriterion("bean_name in", values, "BeanName");
            return (Criteria) this;
        }

        public Criteria andBeanNameNotIn(List<String> values) {
            addCriterion("bean_name not in", values, "BeanName");
            return (Criteria) this;
        }

        public Criteria andBeanNameBetween(String value1, String value2) {
            addCriterion("bean_name between", value1, value2, "BeanName");
            return (Criteria) this;
        }

        public Criteria andBeanNameNotBetween(String value1, String value2) {
            addCriterion("bean_name not between", value1, value2, "BeanName");
            return (Criteria) this;
        }
        public Criteria andParamsIsNull() {
            addCriterion("params is null");
            return (Criteria) this;
        }

        public Criteria andParamsIsNotNull() {
            addCriterion("params is not null");
            return (Criteria) this;
        }

        public Criteria andParamsEqualTo(String value) {
            addCriterion("params =", value, "Params");
            return (Criteria) this;
        }

        public Criteria andParamsNotEqualTo(String value) {
            addCriterion("params <>", value, "Params");
            return (Criteria) this;
        }

        public Criteria andParamsGreaterThan(String value) {
            addCriterion("params >", value, "Params");
            return (Criteria) this;
        }

        public Criteria andParamsGreaterThanOrEqualTo(String value) {
            addCriterion("params >=", value, "Params");
            return (Criteria) this;
        }

        public Criteria andParamsLessThan(String value) {
            addCriterion("params <", value, "Params");
            return (Criteria) this;
        }

        public Criteria andParamsLessThanOrEqualTo(String value) {
            addCriterion("params <=", value, "Params");
            return (Criteria) this;
        }

        public Criteria andParamsLike(String value) {
            addCriterion("params like", value, "Params");
            return (Criteria) this;
        }

        public Criteria andParamsNotLike(String value) {
            addCriterion("params not like", value, "Params");
            return (Criteria) this;
        }

        public Criteria andParamsIn(List<String> values) {
            addCriterion("params in", values, "Params");
            return (Criteria) this;
        }

        public Criteria andParamsNotIn(List<String> values) {
            addCriterion("params not in", values, "Params");
            return (Criteria) this;
        }

        public Criteria andParamsBetween(String value1, String value2) {
            addCriterion("params between", value1, value2, "Params");
            return (Criteria) this;
        }

        public Criteria andParamsNotBetween(String value1, String value2) {
            addCriterion("params not between", value1, value2, "Params");
            return (Criteria) this;
        }
        public Criteria andMethodNameIsNull() {
            addCriterion("method_name is null");
            return (Criteria) this;
        }

        public Criteria andMethodNameIsNotNull() {
            addCriterion("method_name is not null");
            return (Criteria) this;
        }

        public Criteria andMethodNameEqualTo(String value) {
            addCriterion("method_name =", value, "MethodName");
            return (Criteria) this;
        }

        public Criteria andMethodNameNotEqualTo(String value) {
            addCriterion("method_name <>", value, "MethodName");
            return (Criteria) this;
        }

        public Criteria andMethodNameGreaterThan(String value) {
            addCriterion("method_name >", value, "MethodName");
            return (Criteria) this;
        }

        public Criteria andMethodNameGreaterThanOrEqualTo(String value) {
            addCriterion("method_name >=", value, "MethodName");
            return (Criteria) this;
        }

        public Criteria andMethodNameLessThan(String value) {
            addCriterion("method_name <", value, "MethodName");
            return (Criteria) this;
        }

        public Criteria andMethodNameLessThanOrEqualTo(String value) {
            addCriterion("method_name <=", value, "MethodName");
            return (Criteria) this;
        }

        public Criteria andMethodNameLike(String value) {
            addCriterion("method_name like", value, "MethodName");
            return (Criteria) this;
        }

        public Criteria andMethodNameNotLike(String value) {
            addCriterion("method_name not like", value, "MethodName");
            return (Criteria) this;
        }

        public Criteria andMethodNameIn(List<String> values) {
            addCriterion("method_name in", values, "MethodName");
            return (Criteria) this;
        }

        public Criteria andMethodNameNotIn(List<String> values) {
            addCriterion("method_name not in", values, "MethodName");
            return (Criteria) this;
        }

        public Criteria andMethodNameBetween(String value1, String value2) {
            addCriterion("method_name between", value1, value2, "MethodName");
            return (Criteria) this;
        }

        public Criteria andMethodNameNotBetween(String value1, String value2) {
            addCriterion("method_name not between", value1, value2, "MethodName");
            return (Criteria) this;
        }
        public Criteria andDbKeyFromIsNull() {
            addCriterion("db_key_from is null");
            return (Criteria) this;
        }

        public Criteria andDbKeyFromIsNotNull() {
            addCriterion("db_key_from is not null");
            return (Criteria) this;
        }

        public Criteria andDbKeyFromEqualTo(String value) {
            addCriterion("db_key_from =", value, "DbKeyFrom");
            return (Criteria) this;
        }

        public Criteria andDbKeyFromNotEqualTo(String value) {
            addCriterion("db_key_from <>", value, "DbKeyFrom");
            return (Criteria) this;
        }

        public Criteria andDbKeyFromGreaterThan(String value) {
            addCriterion("db_key_from >", value, "DbKeyFrom");
            return (Criteria) this;
        }

        public Criteria andDbKeyFromGreaterThanOrEqualTo(String value) {
            addCriterion("db_key_from >=", value, "DbKeyFrom");
            return (Criteria) this;
        }

        public Criteria andDbKeyFromLessThan(String value) {
            addCriterion("db_key_from <", value, "DbKeyFrom");
            return (Criteria) this;
        }

        public Criteria andDbKeyFromLessThanOrEqualTo(String value) {
            addCriterion("db_key_from <=", value, "DbKeyFrom");
            return (Criteria) this;
        }

        public Criteria andDbKeyFromLike(String value) {
            addCriterion("db_key_from like", value, "DbKeyFrom");
            return (Criteria) this;
        }

        public Criteria andDbKeyFromNotLike(String value) {
            addCriterion("db_key_from not like", value, "DbKeyFrom");
            return (Criteria) this;
        }

        public Criteria andDbKeyFromIn(List<String> values) {
            addCriterion("db_key_from in", values, "DbKeyFrom");
            return (Criteria) this;
        }

        public Criteria andDbKeyFromNotIn(List<String> values) {
            addCriterion("db_key_from not in", values, "DbKeyFrom");
            return (Criteria) this;
        }

        public Criteria andDbKeyFromBetween(String value1, String value2) {
            addCriterion("db_key_from between", value1, value2, "DbKeyFrom");
            return (Criteria) this;
        }

        public Criteria andDbKeyFromNotBetween(String value1, String value2) {
            addCriterion("db_key_from not between", value1, value2, "DbKeyFrom");
            return (Criteria) this;
        }
        public Criteria andReaderTypeIsNull() {
            addCriterion("reader_type is null");
            return (Criteria) this;
        }

        public Criteria andReaderTypeIsNotNull() {
            addCriterion("reader_type is not null");
            return (Criteria) this;
        }

        public Criteria andReaderTypeEqualTo(Integer value) {
            addCriterion("reader_type =", value, "ReaderType");
            return (Criteria) this;
        }

        public Criteria andReaderTypeNotEqualTo(Integer value) {
            addCriterion("reader_type <>", value, "ReaderType");
            return (Criteria) this;
        }

        public Criteria andReaderTypeGreaterThan(Integer value) {
            addCriterion("reader_type >", value, "ReaderType");
            return (Criteria) this;
        }

        public Criteria andReaderTypeGreaterThanOrEqualTo(Integer value) {
            addCriterion("reader_type >=", value, "ReaderType");
            return (Criteria) this;
        }

        public Criteria andReaderTypeLessThan(Integer value) {
            addCriterion("reader_type <", value, "ReaderType");
            return (Criteria) this;
        }

        public Criteria andReaderTypeLessThanOrEqualTo(Integer value) {
            addCriterion("reader_type <=", value, "ReaderType");
            return (Criteria) this;
        }

        public Criteria andReaderTypeIn(List<Integer> values) {
            addCriterion("reader_type in", values, "ReaderType");
            return (Criteria) this;
        }

        public Criteria andReaderTypeNotIn(List<Integer> values) {
            addCriterion("reader_type not in", values, "ReaderType");
            return (Criteria) this;
        }

        public Criteria andReaderTypeBetween(Integer value1, Integer value2) {
            addCriterion("reader_type between", value1, value2, "ReaderType");
            return (Criteria) this;
        }

        public Criteria andReaderTypeNotBetween(Integer value1, Integer value2) {
            addCriterion("reader_type not between", value1, value2, "ReaderType");
            return (Criteria) this;
        }
        public Criteria andDbKeyToIsNull() {
            addCriterion("db_key_to is null");
            return (Criteria) this;
        }

        public Criteria andDbKeyToIsNotNull() {
            addCriterion("db_key_to is not null");
            return (Criteria) this;
        }

        public Criteria andDbKeyToEqualTo(String value) {
            addCriterion("db_key_to =", value, "DbKeyTo");
            return (Criteria) this;
        }

        public Criteria andDbKeyToNotEqualTo(String value) {
            addCriterion("db_key_to <>", value, "DbKeyTo");
            return (Criteria) this;
        }

        public Criteria andDbKeyToGreaterThan(String value) {
            addCriterion("db_key_to >", value, "DbKeyTo");
            return (Criteria) this;
        }

        public Criteria andDbKeyToGreaterThanOrEqualTo(String value) {
            addCriterion("db_key_to >=", value, "DbKeyTo");
            return (Criteria) this;
        }

        public Criteria andDbKeyToLessThan(String value) {
            addCriterion("db_key_to <", value, "DbKeyTo");
            return (Criteria) this;
        }

        public Criteria andDbKeyToLessThanOrEqualTo(String value) {
            addCriterion("db_key_to <=", value, "DbKeyTo");
            return (Criteria) this;
        }

        public Criteria andDbKeyToLike(String value) {
            addCriterion("db_key_to like", value, "DbKeyTo");
            return (Criteria) this;
        }

        public Criteria andDbKeyToNotLike(String value) {
            addCriterion("db_key_to not like", value, "DbKeyTo");
            return (Criteria) this;
        }

        public Criteria andDbKeyToIn(List<String> values) {
            addCriterion("db_key_to in", values, "DbKeyTo");
            return (Criteria) this;
        }

        public Criteria andDbKeyToNotIn(List<String> values) {
            addCriterion("db_key_to not in", values, "DbKeyTo");
            return (Criteria) this;
        }

        public Criteria andDbKeyToBetween(String value1, String value2) {
            addCriterion("db_key_to between", value1, value2, "DbKeyTo");
            return (Criteria) this;
        }

        public Criteria andDbKeyToNotBetween(String value1, String value2) {
            addCriterion("db_key_to not between", value1, value2, "DbKeyTo");
            return (Criteria) this;
        }
        public Criteria andTableFromIsNull() {
            addCriterion("table_from is null");
            return (Criteria) this;
        }

        public Criteria andTableFromIsNotNull() {
            addCriterion("table_from is not null");
            return (Criteria) this;
        }

        public Criteria andTableFromEqualTo(String value) {
            addCriterion("table_from =", value, "TableFrom");
            return (Criteria) this;
        }

        public Criteria andTableFromNotEqualTo(String value) {
            addCriterion("table_from <>", value, "TableFrom");
            return (Criteria) this;
        }

        public Criteria andTableFromGreaterThan(String value) {
            addCriterion("table_from >", value, "TableFrom");
            return (Criteria) this;
        }

        public Criteria andTableFromGreaterThanOrEqualTo(String value) {
            addCriterion("table_from >=", value, "TableFrom");
            return (Criteria) this;
        }

        public Criteria andTableFromLessThan(String value) {
            addCriterion("table_from <", value, "TableFrom");
            return (Criteria) this;
        }

        public Criteria andTableFromLessThanOrEqualTo(String value) {
            addCriterion("table_from <=", value, "TableFrom");
            return (Criteria) this;
        }

        public Criteria andTableFromLike(String value) {
            addCriterion("table_from like", value, "TableFrom");
            return (Criteria) this;
        }

        public Criteria andTableFromNotLike(String value) {
            addCriterion("table_from not like", value, "TableFrom");
            return (Criteria) this;
        }

        public Criteria andTableFromIn(List<String> values) {
            addCriterion("table_from in", values, "TableFrom");
            return (Criteria) this;
        }

        public Criteria andTableFromNotIn(List<String> values) {
            addCriterion("table_from not in", values, "TableFrom");
            return (Criteria) this;
        }

        public Criteria andTableFromBetween(String value1, String value2) {
            addCriterion("table_from between", value1, value2, "TableFrom");
            return (Criteria) this;
        }

        public Criteria andTableFromNotBetween(String value1, String value2) {
            addCriterion("table_from not between", value1, value2, "TableFrom");
            return (Criteria) this;
        }
        public Criteria andTableToIsNull() {
            addCriterion("table_to is null");
            return (Criteria) this;
        }

        public Criteria andTableToIsNotNull() {
            addCriterion("table_to is not null");
            return (Criteria) this;
        }

        public Criteria andTableToEqualTo(String value) {
            addCriterion("table_to =", value, "TableTo");
            return (Criteria) this;
        }

        public Criteria andTableToNotEqualTo(String value) {
            addCriterion("table_to <>", value, "TableTo");
            return (Criteria) this;
        }

        public Criteria andTableToGreaterThan(String value) {
            addCriterion("table_to >", value, "TableTo");
            return (Criteria) this;
        }

        public Criteria andTableToGreaterThanOrEqualTo(String value) {
            addCriterion("table_to >=", value, "TableTo");
            return (Criteria) this;
        }

        public Criteria andTableToLessThan(String value) {
            addCriterion("table_to <", value, "TableTo");
            return (Criteria) this;
        }

        public Criteria andTableToLessThanOrEqualTo(String value) {
            addCriterion("table_to <=", value, "TableTo");
            return (Criteria) this;
        }

        public Criteria andTableToLike(String value) {
            addCriterion("table_to like", value, "TableTo");
            return (Criteria) this;
        }

        public Criteria andTableToNotLike(String value) {
            addCriterion("table_to not like", value, "TableTo");
            return (Criteria) this;
        }

        public Criteria andTableToIn(List<String> values) {
            addCriterion("table_to in", values, "TableTo");
            return (Criteria) this;
        }

        public Criteria andTableToNotIn(List<String> values) {
            addCriterion("table_to not in", values, "TableTo");
            return (Criteria) this;
        }

        public Criteria andTableToBetween(String value1, String value2) {
            addCriterion("table_to between", value1, value2, "TableTo");
            return (Criteria) this;
        }

        public Criteria andTableToNotBetween(String value1, String value2) {
            addCriterion("table_to not between", value1, value2, "TableTo");
            return (Criteria) this;
        }
        public Criteria andSelectSqlIsNull() {
            addCriterion("select_sql is null");
            return (Criteria) this;
        }

        public Criteria andSelectSqlIsNotNull() {
            addCriterion("select_sql is not null");
            return (Criteria) this;
        }

        public Criteria andSelectSqlEqualTo(String value) {
            addCriterion("select_sql =", value, "SelectSql");
            return (Criteria) this;
        }

        public Criteria andSelectSqlNotEqualTo(String value) {
            addCriterion("select_sql <>", value, "SelectSql");
            return (Criteria) this;
        }

        public Criteria andSelectSqlGreaterThan(String value) {
            addCriterion("select_sql >", value, "SelectSql");
            return (Criteria) this;
        }

        public Criteria andSelectSqlGreaterThanOrEqualTo(String value) {
            addCriterion("select_sql >=", value, "SelectSql");
            return (Criteria) this;
        }

        public Criteria andSelectSqlLessThan(String value) {
            addCriterion("select_sql <", value, "SelectSql");
            return (Criteria) this;
        }

        public Criteria andSelectSqlLessThanOrEqualTo(String value) {
            addCriterion("select_sql <=", value, "SelectSql");
            return (Criteria) this;
        }

        public Criteria andSelectSqlLike(String value) {
            addCriterion("select_sql like", value, "SelectSql");
            return (Criteria) this;
        }

        public Criteria andSelectSqlNotLike(String value) {
            addCriterion("select_sql not like", value, "SelectSql");
            return (Criteria) this;
        }

        public Criteria andSelectSqlIn(List<String> values) {
            addCriterion("select_sql in", values, "SelectSql");
            return (Criteria) this;
        }

        public Criteria andSelectSqlNotIn(List<String> values) {
            addCriterion("select_sql not in", values, "SelectSql");
            return (Criteria) this;
        }

        public Criteria andSelectSqlBetween(String value1, String value2) {
            addCriterion("select_sql between", value1, value2, "SelectSql");
            return (Criteria) this;
        }

        public Criteria andSelectSqlNotBetween(String value1, String value2) {
            addCriterion("select_sql not between", value1, value2, "SelectSql");
            return (Criteria) this;
        }
        public Criteria andInsertSqlIsNull() {
            addCriterion("insert_sql is null");
            return (Criteria) this;
        }

        public Criteria andInsertSqlIsNotNull() {
            addCriterion("insert_sql is not null");
            return (Criteria) this;
        }

        public Criteria andInsertSqlEqualTo(String value) {
            addCriterion("insert_sql =", value, "InsertSql");
            return (Criteria) this;
        }

        public Criteria andInsertSqlNotEqualTo(String value) {
            addCriterion("insert_sql <>", value, "InsertSql");
            return (Criteria) this;
        }

        public Criteria andInsertSqlGreaterThan(String value) {
            addCriterion("insert_sql >", value, "InsertSql");
            return (Criteria) this;
        }

        public Criteria andInsertSqlGreaterThanOrEqualTo(String value) {
            addCriterion("insert_sql >=", value, "InsertSql");
            return (Criteria) this;
        }

        public Criteria andInsertSqlLessThan(String value) {
            addCriterion("insert_sql <", value, "InsertSql");
            return (Criteria) this;
        }

        public Criteria andInsertSqlLessThanOrEqualTo(String value) {
            addCriterion("insert_sql <=", value, "InsertSql");
            return (Criteria) this;
        }

        public Criteria andInsertSqlLike(String value) {
            addCriterion("insert_sql like", value, "InsertSql");
            return (Criteria) this;
        }

        public Criteria andInsertSqlNotLike(String value) {
            addCriterion("insert_sql not like", value, "InsertSql");
            return (Criteria) this;
        }

        public Criteria andInsertSqlIn(List<String> values) {
            addCriterion("insert_sql in", values, "InsertSql");
            return (Criteria) this;
        }

        public Criteria andInsertSqlNotIn(List<String> values) {
            addCriterion("insert_sql not in", values, "InsertSql");
            return (Criteria) this;
        }

        public Criteria andInsertSqlBetween(String value1, String value2) {
            addCriterion("insert_sql between", value1, value2, "InsertSql");
            return (Criteria) this;
        }

        public Criteria andInsertSqlNotBetween(String value1, String value2) {
            addCriterion("insert_sql not between", value1, value2, "InsertSql");
            return (Criteria) this;
        }
        public Criteria andDeleteSqlIsNull() {
            addCriterion("delete_sql is null");
            return (Criteria) this;
        }

        public Criteria andDeleteSqlIsNotNull() {
            addCriterion("delete_sql is not null");
            return (Criteria) this;
        }

        public Criteria andDeleteSqlEqualTo(String value) {
            addCriterion("delete_sql =", value, "DeleteSql");
            return (Criteria) this;
        }

        public Criteria andDeleteSqlNotEqualTo(String value) {
            addCriterion("delete_sql <>", value, "DeleteSql");
            return (Criteria) this;
        }

        public Criteria andDeleteSqlGreaterThan(String value) {
            addCriterion("delete_sql >", value, "DeleteSql");
            return (Criteria) this;
        }

        public Criteria andDeleteSqlGreaterThanOrEqualTo(String value) {
            addCriterion("delete_sql >=", value, "DeleteSql");
            return (Criteria) this;
        }

        public Criteria andDeleteSqlLessThan(String value) {
            addCriterion("delete_sql <", value, "DeleteSql");
            return (Criteria) this;
        }

        public Criteria andDeleteSqlLessThanOrEqualTo(String value) {
            addCriterion("delete_sql <=", value, "DeleteSql");
            return (Criteria) this;
        }

        public Criteria andDeleteSqlLike(String value) {
            addCriterion("delete_sql like", value, "DeleteSql");
            return (Criteria) this;
        }

        public Criteria andDeleteSqlNotLike(String value) {
            addCriterion("delete_sql not like", value, "DeleteSql");
            return (Criteria) this;
        }

        public Criteria andDeleteSqlIn(List<String> values) {
            addCriterion("delete_sql in", values, "DeleteSql");
            return (Criteria) this;
        }

        public Criteria andDeleteSqlNotIn(List<String> values) {
            addCriterion("delete_sql not in", values, "DeleteSql");
            return (Criteria) this;
        }

        public Criteria andDeleteSqlBetween(String value1, String value2) {
            addCriterion("delete_sql between", value1, value2, "DeleteSql");
            return (Criteria) this;
        }

        public Criteria andDeleteSqlNotBetween(String value1, String value2) {
            addCriterion("delete_sql not between", value1, value2, "DeleteSql");
            return (Criteria) this;
        }
        public Criteria andWhereSqlIsNull() {
            addCriterion("where_sql is null");
            return (Criteria) this;
        }

        public Criteria andWhereSqlIsNotNull() {
            addCriterion("where_sql is not null");
            return (Criteria) this;
        }

        public Criteria andWhereSqlEqualTo(String value) {
            addCriterion("where_sql =", value, "WhereSql");
            return (Criteria) this;
        }

        public Criteria andWhereSqlNotEqualTo(String value) {
            addCriterion("where_sql <>", value, "WhereSql");
            return (Criteria) this;
        }

        public Criteria andWhereSqlGreaterThan(String value) {
            addCriterion("where_sql >", value, "WhereSql");
            return (Criteria) this;
        }

        public Criteria andWhereSqlGreaterThanOrEqualTo(String value) {
            addCriterion("where_sql >=", value, "WhereSql");
            return (Criteria) this;
        }

        public Criteria andWhereSqlLessThan(String value) {
            addCriterion("where_sql <", value, "WhereSql");
            return (Criteria) this;
        }

        public Criteria andWhereSqlLessThanOrEqualTo(String value) {
            addCriterion("where_sql <=", value, "WhereSql");
            return (Criteria) this;
        }

        public Criteria andWhereSqlLike(String value) {
            addCriterion("where_sql like", value, "WhereSql");
            return (Criteria) this;
        }

        public Criteria andWhereSqlNotLike(String value) {
            addCriterion("where_sql not like", value, "WhereSql");
            return (Criteria) this;
        }

        public Criteria andWhereSqlIn(List<String> values) {
            addCriterion("where_sql in", values, "WhereSql");
            return (Criteria) this;
        }

        public Criteria andWhereSqlNotIn(List<String> values) {
            addCriterion("where_sql not in", values, "WhereSql");
            return (Criteria) this;
        }

        public Criteria andWhereSqlBetween(String value1, String value2) {
            addCriterion("where_sql between", value1, value2, "WhereSql");
            return (Criteria) this;
        }

        public Criteria andWhereSqlNotBetween(String value1, String value2) {
            addCriterion("where_sql not between", value1, value2, "WhereSql");
            return (Criteria) this;
        }
        public Criteria andProcessBeanIsNull() {
            addCriterion("process_bean is null");
            return (Criteria) this;
        }

        public Criteria andProcessBeanIsNotNull() {
            addCriterion("process_bean is not null");
            return (Criteria) this;
        }

        public Criteria andProcessBeanEqualTo(String value) {
            addCriterion("process_bean =", value, "ProcessBean");
            return (Criteria) this;
        }

        public Criteria andProcessBeanNotEqualTo(String value) {
            addCriterion("process_bean <>", value, "ProcessBean");
            return (Criteria) this;
        }

        public Criteria andProcessBeanGreaterThan(String value) {
            addCriterion("process_bean >", value, "ProcessBean");
            return (Criteria) this;
        }

        public Criteria andProcessBeanGreaterThanOrEqualTo(String value) {
            addCriterion("process_bean >=", value, "ProcessBean");
            return (Criteria) this;
        }

        public Criteria andProcessBeanLessThan(String value) {
            addCriterion("process_bean <", value, "ProcessBean");
            return (Criteria) this;
        }

        public Criteria andProcessBeanLessThanOrEqualTo(String value) {
            addCriterion("process_bean <=", value, "ProcessBean");
            return (Criteria) this;
        }

        public Criteria andProcessBeanLike(String value) {
            addCriterion("process_bean like", value, "ProcessBean");
            return (Criteria) this;
        }

        public Criteria andProcessBeanNotLike(String value) {
            addCriterion("process_bean not like", value, "ProcessBean");
            return (Criteria) this;
        }

        public Criteria andProcessBeanIn(List<String> values) {
            addCriterion("process_bean in", values, "ProcessBean");
            return (Criteria) this;
        }

        public Criteria andProcessBeanNotIn(List<String> values) {
            addCriterion("process_bean not in", values, "ProcessBean");
            return (Criteria) this;
        }

        public Criteria andProcessBeanBetween(String value1, String value2) {
            addCriterion("process_bean between", value1, value2, "ProcessBean");
            return (Criteria) this;
        }

        public Criteria andProcessBeanNotBetween(String value1, String value2) {
            addCriterion("process_bean not between", value1, value2, "ProcessBean");
            return (Criteria) this;
        }
        public Criteria andProcessClassTypeIsNull() {
            addCriterion("process_class_type is null");
            return (Criteria) this;
        }

        public Criteria andProcessClassTypeIsNotNull() {
            addCriterion("process_class_type is not null");
            return (Criteria) this;
        }

        public Criteria andProcessClassTypeEqualTo(String value) {
            addCriterion("process_class_type =", value, "ProcessClassType");
            return (Criteria) this;
        }

        public Criteria andProcessClassTypeNotEqualTo(String value) {
            addCriterion("process_class_type <>", value, "ProcessClassType");
            return (Criteria) this;
        }

        public Criteria andProcessClassTypeGreaterThan(String value) {
            addCriterion("process_class_type >", value, "ProcessClassType");
            return (Criteria) this;
        }

        public Criteria andProcessClassTypeGreaterThanOrEqualTo(String value) {
            addCriterion("process_class_type >=", value, "ProcessClassType");
            return (Criteria) this;
        }

        public Criteria andProcessClassTypeLessThan(String value) {
            addCriterion("process_class_type <", value, "ProcessClassType");
            return (Criteria) this;
        }

        public Criteria andProcessClassTypeLessThanOrEqualTo(String value) {
            addCriterion("process_class_type <=", value, "ProcessClassType");
            return (Criteria) this;
        }

        public Criteria andProcessClassTypeLike(String value) {
            addCriterion("process_class_type like", value, "ProcessClassType");
            return (Criteria) this;
        }

        public Criteria andProcessClassTypeNotLike(String value) {
            addCriterion("process_class_type not like", value, "ProcessClassType");
            return (Criteria) this;
        }

        public Criteria andProcessClassTypeIn(List<String> values) {
            addCriterion("process_class_type in", values, "ProcessClassType");
            return (Criteria) this;
        }

        public Criteria andProcessClassTypeNotIn(List<String> values) {
            addCriterion("process_class_type not in", values, "ProcessClassType");
            return (Criteria) this;
        }

        public Criteria andProcessClassTypeBetween(String value1, String value2) {
            addCriterion("process_class_type between", value1, value2, "ProcessClassType");
            return (Criteria) this;
        }

        public Criteria andProcessClassTypeNotBetween(String value1, String value2) {
            addCriterion("process_class_type not between", value1, value2, "ProcessClassType");
            return (Criteria) this;
        }
        public Criteria andProcessClassIsNull() {
            addCriterion("process_class is null");
            return (Criteria) this;
        }

        public Criteria andProcessClassIsNotNull() {
            addCriterion("process_class is not null");
            return (Criteria) this;
        }

        public Criteria andProcessClassEqualTo(String value) {
            addCriterion("process_class =", value, "ProcessClass");
            return (Criteria) this;
        }

        public Criteria andProcessClassNotEqualTo(String value) {
            addCriterion("process_class <>", value, "ProcessClass");
            return (Criteria) this;
        }

        public Criteria andProcessClassGreaterThan(String value) {
            addCriterion("process_class >", value, "ProcessClass");
            return (Criteria) this;
        }

        public Criteria andProcessClassGreaterThanOrEqualTo(String value) {
            addCriterion("process_class >=", value, "ProcessClass");
            return (Criteria) this;
        }

        public Criteria andProcessClassLessThan(String value) {
            addCriterion("process_class <", value, "ProcessClass");
            return (Criteria) this;
        }

        public Criteria andProcessClassLessThanOrEqualTo(String value) {
            addCriterion("process_class <=", value, "ProcessClass");
            return (Criteria) this;
        }

        public Criteria andProcessClassLike(String value) {
            addCriterion("process_class like", value, "ProcessClass");
            return (Criteria) this;
        }

        public Criteria andProcessClassNotLike(String value) {
            addCriterion("process_class not like", value, "ProcessClass");
            return (Criteria) this;
        }

        public Criteria andProcessClassIn(List<String> values) {
            addCriterion("process_class in", values, "ProcessClass");
            return (Criteria) this;
        }

        public Criteria andProcessClassNotIn(List<String> values) {
            addCriterion("process_class not in", values, "ProcessClass");
            return (Criteria) this;
        }

        public Criteria andProcessClassBetween(String value1, String value2) {
            addCriterion("process_class between", value1, value2, "ProcessClass");
            return (Criteria) this;
        }

        public Criteria andProcessClassNotBetween(String value1, String value2) {
            addCriterion("process_class not between", value1, value2, "ProcessClass");
            return (Criteria) this;
        }
        public Criteria andChunkIsNull() {
            addCriterion("chunk is null");
            return (Criteria) this;
        }

        public Criteria andChunkIsNotNull() {
            addCriterion("chunk is not null");
            return (Criteria) this;
        }

        public Criteria andChunkEqualTo(Integer value) {
            addCriterion("chunk =", value, "Chunk");
            return (Criteria) this;
        }

        public Criteria andChunkNotEqualTo(Integer value) {
            addCriterion("chunk <>", value, "Chunk");
            return (Criteria) this;
        }

        public Criteria andChunkGreaterThan(Integer value) {
            addCriterion("chunk >", value, "Chunk");
            return (Criteria) this;
        }

        public Criteria andChunkGreaterThanOrEqualTo(Integer value) {
            addCriterion("chunk >=", value, "Chunk");
            return (Criteria) this;
        }

        public Criteria andChunkLessThan(Integer value) {
            addCriterion("chunk <", value, "Chunk");
            return (Criteria) this;
        }

        public Criteria andChunkLessThanOrEqualTo(Integer value) {
            addCriterion("chunk <=", value, "Chunk");
            return (Criteria) this;
        }

        public Criteria andChunkIn(List<Integer> values) {
            addCriterion("chunk in", values, "Chunk");
            return (Criteria) this;
        }

        public Criteria andChunkNotIn(List<Integer> values) {
            addCriterion("chunk not in", values, "Chunk");
            return (Criteria) this;
        }

        public Criteria andChunkBetween(Integer value1, Integer value2) {
            addCriterion("chunk between", value1, value2, "Chunk");
            return (Criteria) this;
        }

        public Criteria andChunkNotBetween(Integer value1, Integer value2) {
            addCriterion("chunk not between", value1, value2, "Chunk");
            return (Criteria) this;
        }
        public Criteria andExecNumIsNull() {
            addCriterion("exec_num is null");
            return (Criteria) this;
        }

        public Criteria andExecNumIsNotNull() {
            addCriterion("exec_num is not null");
            return (Criteria) this;
        }

        public Criteria andExecNumEqualTo(Integer value) {
            addCriterion("exec_num =", value, "ExecNum");
            return (Criteria) this;
        }

        public Criteria andExecNumNotEqualTo(Integer value) {
            addCriterion("exec_num <>", value, "ExecNum");
            return (Criteria) this;
        }

        public Criteria andExecNumGreaterThan(Integer value) {
            addCriterion("exec_num >", value, "ExecNum");
            return (Criteria) this;
        }

        public Criteria andExecNumGreaterThanOrEqualTo(Integer value) {
            addCriterion("exec_num >=", value, "ExecNum");
            return (Criteria) this;
        }

        public Criteria andExecNumLessThan(Integer value) {
            addCriterion("exec_num <", value, "ExecNum");
            return (Criteria) this;
        }

        public Criteria andExecNumLessThanOrEqualTo(Integer value) {
            addCriterion("exec_num <=", value, "ExecNum");
            return (Criteria) this;
        }

        public Criteria andExecNumIn(List<Integer> values) {
            addCriterion("exec_num in", values, "ExecNum");
            return (Criteria) this;
        }

        public Criteria andExecNumNotIn(List<Integer> values) {
            addCriterion("exec_num not in", values, "ExecNum");
            return (Criteria) this;
        }

        public Criteria andExecNumBetween(Integer value1, Integer value2) {
            addCriterion("exec_num between", value1, value2, "ExecNum");
            return (Criteria) this;
        }

        public Criteria andExecNumNotBetween(Integer value1, Integer value2) {
            addCriterion("exec_num not between", value1, value2, "ExecNum");
            return (Criteria) this;
        }
        public Criteria andCreateTimeIsNull() {
            addCriterion("create_time is null");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIsNotNull() {
            addCriterion("create_time is not null");
            return (Criteria) this;
        }

        public Criteria andCreateTimeEqualTo(Date value) {
            addCriterion("create_time =", value, "CreateTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotEqualTo(Date value) {
            addCriterion("create_time <>", value, "CreateTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeGreaterThan(Date value) {
            addCriterion("create_time >", value, "CreateTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("create_time >=", value, "CreateTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeLessThan(Date value) {
            addCriterion("create_time <", value, "CreateTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeLessThanOrEqualTo(Date value) {
            addCriterion("create_time <=", value, "CreateTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIn(List<Date> values) {
            addCriterion("create_time in", values, "CreateTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotIn(List<Date> values) {
            addCriterion("create_time not in", values, "CreateTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeBetween(Date value1, Date value2) {
            addCriterion("create_time between", value1, value2, "CreateTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotBetween(Date value1, Date value2) {
            addCriterion("create_time not between", value1, value2, "CreateTime");
            return (Criteria) this;
        }
        public Criteria andUpdateTimeIsNull() {
            addCriterion("update_time is null");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeIsNotNull() {
            addCriterion("update_time is not null");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeEqualTo(Date value) {
            addCriterion("update_time =", value, "UpdateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotEqualTo(Date value) {
            addCriterion("update_time <>", value, "UpdateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeGreaterThan(Date value) {
            addCriterion("update_time >", value, "UpdateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("update_time >=", value, "UpdateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeLessThan(Date value) {
            addCriterion("update_time <", value, "UpdateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeLessThanOrEqualTo(Date value) {
            addCriterion("update_time <=", value, "UpdateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeIn(List<Date> values) {
            addCriterion("update_time in", values, "UpdateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotIn(List<Date> values) {
            addCriterion("update_time not in", values, "UpdateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeBetween(Date value1, Date value2) {
            addCriterion("update_time between", value1, value2, "UpdateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotBetween(Date value1, Date value2) {
            addCriterion("update_time not between", value1, value2, "UpdateTime");
            return (Criteria) this;
        }
        public Criteria andSelectOneIsNull() {
            addCriterion("select_one is null");
            return (Criteria) this;
        }

        public Criteria andSelectOneIsNotNull() {
            addCriterion("select_one is not null");
            return (Criteria) this;
        }

        public Criteria andSelectOneEqualTo(String value) {
            addCriterion("select_one =", value, "SelectOne");
            return (Criteria) this;
        }

        public Criteria andSelectOneNotEqualTo(String value) {
            addCriterion("select_one <>", value, "SelectOne");
            return (Criteria) this;
        }

        public Criteria andSelectOneGreaterThan(String value) {
            addCriterion("select_one >", value, "SelectOne");
            return (Criteria) this;
        }

        public Criteria andSelectOneGreaterThanOrEqualTo(String value) {
            addCriterion("select_one >=", value, "SelectOne");
            return (Criteria) this;
        }

        public Criteria andSelectOneLessThan(String value) {
            addCriterion("select_one <", value, "SelectOne");
            return (Criteria) this;
        }

        public Criteria andSelectOneLessThanOrEqualTo(String value) {
            addCriterion("select_one <=", value, "SelectOne");
            return (Criteria) this;
        }

        public Criteria andSelectOneLike(String value) {
            addCriterion("select_one like", value, "SelectOne");
            return (Criteria) this;
        }

        public Criteria andSelectOneNotLike(String value) {
            addCriterion("select_one not like", value, "SelectOne");
            return (Criteria) this;
        }

        public Criteria andSelectOneIn(List<String> values) {
            addCriterion("select_one in", values, "SelectOne");
            return (Criteria) this;
        }

        public Criteria andSelectOneNotIn(List<String> values) {
            addCriterion("select_one not in", values, "SelectOne");
            return (Criteria) this;
        }

        public Criteria andSelectOneBetween(String value1, String value2) {
            addCriterion("select_one between", value1, value2, "SelectOne");
            return (Criteria) this;
        }

        public Criteria andSelectOneNotBetween(String value1, String value2) {
            addCriterion("select_one not between", value1, value2, "SelectOne");
            return (Criteria) this;
        }
        public Criteria andUpdateSqlIsNull() {
            addCriterion("update_sql is null");
            return (Criteria) this;
        }

        public Criteria andUpdateSqlIsNotNull() {
            addCriterion("update_sql is not null");
            return (Criteria) this;
        }

        public Criteria andUpdateSqlEqualTo(String value) {
            addCriterion("update_sql =", value, "UpdateSql");
            return (Criteria) this;
        }

        public Criteria andUpdateSqlNotEqualTo(String value) {
            addCriterion("update_sql <>", value, "UpdateSql");
            return (Criteria) this;
        }

        public Criteria andUpdateSqlGreaterThan(String value) {
            addCriterion("update_sql >", value, "UpdateSql");
            return (Criteria) this;
        }

        public Criteria andUpdateSqlGreaterThanOrEqualTo(String value) {
            addCriterion("update_sql >=", value, "UpdateSql");
            return (Criteria) this;
        }

        public Criteria andUpdateSqlLessThan(String value) {
            addCriterion("update_sql <", value, "UpdateSql");
            return (Criteria) this;
        }

        public Criteria andUpdateSqlLessThanOrEqualTo(String value) {
            addCriterion("update_sql <=", value, "UpdateSql");
            return (Criteria) this;
        }

        public Criteria andUpdateSqlLike(String value) {
            addCriterion("update_sql like", value, "UpdateSql");
            return (Criteria) this;
        }

        public Criteria andUpdateSqlNotLike(String value) {
            addCriterion("update_sql not like", value, "UpdateSql");
            return (Criteria) this;
        }

        public Criteria andUpdateSqlIn(List<String> values) {
            addCriterion("update_sql in", values, "UpdateSql");
            return (Criteria) this;
        }

        public Criteria andUpdateSqlNotIn(List<String> values) {
            addCriterion("update_sql not in", values, "UpdateSql");
            return (Criteria) this;
        }

        public Criteria andUpdateSqlBetween(String value1, String value2) {
            addCriterion("update_sql between", value1, value2, "UpdateSql");
            return (Criteria) this;
        }

        public Criteria andUpdateSqlNotBetween(String value1, String value2) {
            addCriterion("update_sql not between", value1, value2, "UpdateSql");
            return (Criteria) this;
        }
        public Criteria andStatusIsNull() {
            addCriterion("status is null");
            return (Criteria) this;
        }

        public Criteria andStatusIsNotNull() {
            addCriterion("status is not null");
            return (Criteria) this;
        }

        public Criteria andStatusEqualTo(Integer value) {
            addCriterion("status =", value, "Status");
            return (Criteria) this;
        }

        public Criteria andStatusNotEqualTo(Integer value) {
            addCriterion("status <>", value, "Status");
            return (Criteria) this;
        }

        public Criteria andStatusGreaterThan(Integer value) {
            addCriterion("status >", value, "Status");
            return (Criteria) this;
        }

        public Criteria andStatusGreaterThanOrEqualTo(Integer value) {
            addCriterion("status >=", value, "Status");
            return (Criteria) this;
        }

        public Criteria andStatusLessThan(Integer value) {
            addCriterion("status <", value, "Status");
            return (Criteria) this;
        }

        public Criteria andStatusLessThanOrEqualTo(Integer value) {
            addCriterion("status <=", value, "Status");
            return (Criteria) this;
        }

        public Criteria andStatusIn(List<Integer> values) {
            addCriterion("status in", values, "Status");
            return (Criteria) this;
        }

        public Criteria andStatusNotIn(List<Integer> values) {
            addCriterion("status not in", values, "Status");
            return (Criteria) this;
        }

        public Criteria andStatusBetween(Integer value1, Integer value2) {
            addCriterion("status between", value1, value2, "Status");
            return (Criteria) this;
        }

        public Criteria andStatusNotBetween(Integer value1, Integer value2) {
            addCriterion("status not between", value1, value2, "Status");
            return (Criteria) this;
        }
        public Criteria andCacheNameIsNull() {
            addCriterion("cache_name is null");
            return (Criteria) this;
        }

        public Criteria andCacheNameIsNotNull() {
            addCriterion("cache_name is not null");
            return (Criteria) this;
        }

        public Criteria andCacheNameEqualTo(String value) {
            addCriterion("cache_name =", value, "CacheName");
            return (Criteria) this;
        }

        public Criteria andCacheNameNotEqualTo(String value) {
            addCriterion("cache_name <>", value, "CacheName");
            return (Criteria) this;
        }

        public Criteria andCacheNameGreaterThan(String value) {
            addCriterion("cache_name >", value, "CacheName");
            return (Criteria) this;
        }

        public Criteria andCacheNameGreaterThanOrEqualTo(String value) {
            addCriterion("cache_name >=", value, "CacheName");
            return (Criteria) this;
        }

        public Criteria andCacheNameLessThan(String value) {
            addCriterion("cache_name <", value, "CacheName");
            return (Criteria) this;
        }

        public Criteria andCacheNameLessThanOrEqualTo(String value) {
            addCriterion("cache_name <=", value, "CacheName");
            return (Criteria) this;
        }

        public Criteria andCacheNameLike(String value) {
            addCriterion("cache_name like", value, "CacheName");
            return (Criteria) this;
        }

        public Criteria andCacheNameNotLike(String value) {
            addCriterion("cache_name not like", value, "CacheName");
            return (Criteria) this;
        }

        public Criteria andCacheNameIn(List<String> values) {
            addCriterion("cache_name in", values, "CacheName");
            return (Criteria) this;
        }

        public Criteria andCacheNameNotIn(List<String> values) {
            addCriterion("cache_name not in", values, "CacheName");
            return (Criteria) this;
        }

        public Criteria andCacheNameBetween(String value1, String value2) {
            addCriterion("cache_name between", value1, value2, "CacheName");
            return (Criteria) this;
        }

        public Criteria andCacheNameNotBetween(String value1, String value2) {
            addCriterion("cache_name not between", value1, value2, "CacheName");
            return (Criteria) this;
        }
        public Criteria andExpireTimeIsNull() {
            addCriterion("expire_time is null");
            return (Criteria) this;
        }

        public Criteria andExpireTimeIsNotNull() {
            addCriterion("expire_time is not null");
            return (Criteria) this;
        }

        public Criteria andExpireTimeEqualTo(Long value) {
            addCriterion("expire_time =", value, "ExpireTime");
            return (Criteria) this;
        }

        public Criteria andExpireTimeNotEqualTo(Long value) {
            addCriterion("expire_time <>", value, "ExpireTime");
            return (Criteria) this;
        }

        public Criteria andExpireTimeGreaterThan(Long value) {
            addCriterion("expire_time >", value, "ExpireTime");
            return (Criteria) this;
        }

        public Criteria andExpireTimeGreaterThanOrEqualTo(Long value) {
            addCriterion("expire_time >=", value, "ExpireTime");
            return (Criteria) this;
        }

        public Criteria andExpireTimeLessThan(Long value) {
            addCriterion("expire_time <", value, "ExpireTime");
            return (Criteria) this;
        }

        public Criteria andExpireTimeLessThanOrEqualTo(Long value) {
            addCriterion("expire_time <=", value, "ExpireTime");
            return (Criteria) this;
        }

        public Criteria andExpireTimeIn(List<Long> values) {
            addCriterion("expire_time in", values, "ExpireTime");
            return (Criteria) this;
        }

        public Criteria andExpireTimeNotIn(List<Long> values) {
            addCriterion("expire_time not in", values, "ExpireTime");
            return (Criteria) this;
        }

        public Criteria andExpireTimeBetween(Long value1, Long value2) {
            addCriterion("expire_time between", value1, value2, "ExpireTime");
            return (Criteria) this;
        }

        public Criteria andExpireTimeNotBetween(Long value1, Long value2) {
            addCriterion("expire_time not between", value1, value2, "ExpireTime");
            return (Criteria) this;
        }
        public Criteria andCacheKeyFieldIsNull() {
            addCriterion("cache_key_field is null");
            return (Criteria) this;
        }

        public Criteria andCacheKeyFieldIsNotNull() {
            addCriterion("cache_key_field is not null");
            return (Criteria) this;
        }

        public Criteria andCacheKeyFieldEqualTo(String value) {
            addCriterion("cache_key_field =", value, "CacheKeyField");
            return (Criteria) this;
        }

        public Criteria andCacheKeyFieldNotEqualTo(String value) {
            addCriterion("cache_key_field <>", value, "CacheKeyField");
            return (Criteria) this;
        }

        public Criteria andCacheKeyFieldGreaterThan(String value) {
            addCriterion("cache_key_field >", value, "CacheKeyField");
            return (Criteria) this;
        }

        public Criteria andCacheKeyFieldGreaterThanOrEqualTo(String value) {
            addCriterion("cache_key_field >=", value, "CacheKeyField");
            return (Criteria) this;
        }

        public Criteria andCacheKeyFieldLessThan(String value) {
            addCriterion("cache_key_field <", value, "CacheKeyField");
            return (Criteria) this;
        }

        public Criteria andCacheKeyFieldLessThanOrEqualTo(String value) {
            addCriterion("cache_key_field <=", value, "CacheKeyField");
            return (Criteria) this;
        }

        public Criteria andCacheKeyFieldLike(String value) {
            addCriterion("cache_key_field like", value, "CacheKeyField");
            return (Criteria) this;
        }

        public Criteria andCacheKeyFieldNotLike(String value) {
            addCriterion("cache_key_field not like", value, "CacheKeyField");
            return (Criteria) this;
        }

        public Criteria andCacheKeyFieldIn(List<String> values) {
            addCriterion("cache_key_field in", values, "CacheKeyField");
            return (Criteria) this;
        }

        public Criteria andCacheKeyFieldNotIn(List<String> values) {
            addCriterion("cache_key_field not in", values, "CacheKeyField");
            return (Criteria) this;
        }

        public Criteria andCacheKeyFieldBetween(String value1, String value2) {
            addCriterion("cache_key_field between", value1, value2, "CacheKeyField");
            return (Criteria) this;
        }

        public Criteria andCacheKeyFieldNotBetween(String value1, String value2) {
            addCriterion("cache_key_field not between", value1, value2, "CacheKeyField");
            return (Criteria) this;
        }
        public Criteria andCacheTypeIsNull() {
            addCriterion("cache_type is null");
            return (Criteria) this;
        }

        public Criteria andCacheTypeIsNotNull() {
            addCriterion("cache_type is not null");
            return (Criteria) this;
        }

        public Criteria andCacheTypeEqualTo(String value) {
            addCriterion("cache_type =", value, "CacheType");
            return (Criteria) this;
        }

        public Criteria andCacheTypeNotEqualTo(String value) {
            addCriterion("cache_type <>", value, "CacheType");
            return (Criteria) this;
        }

        public Criteria andCacheTypeGreaterThan(String value) {
            addCriterion("cache_type >", value, "CacheType");
            return (Criteria) this;
        }

        public Criteria andCacheTypeGreaterThanOrEqualTo(String value) {
            addCriterion("cache_type >=", value, "CacheType");
            return (Criteria) this;
        }

        public Criteria andCacheTypeLessThan(String value) {
            addCriterion("cache_type <", value, "CacheType");
            return (Criteria) this;
        }

        public Criteria andCacheTypeLessThanOrEqualTo(String value) {
            addCriterion("cache_type <=", value, "CacheType");
            return (Criteria) this;
        }

        public Criteria andCacheTypeLike(String value) {
            addCriterion("cache_type like", value, "CacheType");
            return (Criteria) this;
        }

        public Criteria andCacheTypeNotLike(String value) {
            addCriterion("cache_type not like", value, "CacheType");
            return (Criteria) this;
        }

        public Criteria andCacheTypeIn(List<String> values) {
            addCriterion("cache_type in", values, "CacheType");
            return (Criteria) this;
        }

        public Criteria andCacheTypeNotIn(List<String> values) {
            addCriterion("cache_type not in", values, "CacheType");
            return (Criteria) this;
        }

        public Criteria andCacheTypeBetween(String value1, String value2) {
            addCriterion("cache_type between", value1, value2, "CacheType");
            return (Criteria) this;
        }

        public Criteria andCacheTypeNotBetween(String value1, String value2) {
            addCriterion("cache_type not between", value1, value2, "CacheType");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}
